package cn.han.review;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;

//本类用于复习Collection
public class TestCollection {
    public static void main(String[] args) {
        //1.创建集合对象
        Collection<Integer> c =new ArrayList();
        Collection<Integer> c2 = new ArrayList<>();
        //2.1向集合中添加元素

        c.add(100);
        c.add(200);
        c.add(300);
        c.add(400);
        c.add(500);
        c.add(600);
        //2.2向c2集合添加元素
        c2.add(2);
        c2.add(4);
        c2.add(6);
        c2.add(8);
        //3.练习方法
        c.addAll(c2);//将参数集合c2的所有元素添加到本集合c中
        System.out.println(c);
//        c.clear();//清空集合
//        System.out.println(c);
        System.out.println(c.contains(300));//判断本集合是否包含指定元素300
        System.out.println(c.remove(4));//移除本集合中的指定元素
        c.containsAll(c2);//判断本集合是否包含参数集合的所有元素，参数集合是不是本集合的子集
        System.out.println(c.equals(100));//集合对象c与100不等
        System.out.println(c.hashCode());//返回集合对象的哈希码值
        System.out.println(c.isEmpty());//判断集合是否为空
        System.out.println(c.removeAll(c2));//移除本集合中属于参数集合的所有元素
        System.out.println(c.retainAll(c2));//保留本集合中也属于参数集合的公共元素，保留交集
        System.out.println(c.size());//获取本集合中元素的个数
        Object[] array = c2.toArray();//将集合转为数组类型
        System.out.println(Arrays.toString(array));

        //4.迭代
        /*迭代
        * 1.获取迭代器：c.iterator();
        * 2.利用迭代器进行判断当前集合中是否有下一个可迭代的元素it.hasNext
        * 3.利用迭代器获取当前迭代到的元素*/
        Iterator<Integer> iterator = c2.iterator();
        while (iterator.hasNext()){//循环，判断是否有元素可迭代
            Integer number = iterator.next();//根据迭代器获取本轮迭代到的元素
            System.out.println(number);//打印
        }

    }

}
